package com.xingjiejian.lambda.demo3;

import java.util.function.Supplier;

/**
 * 常用的函数式接口
 * java.util.function.Supplier<T>接口仅包含一个无参的方法：T get()。用来获取一个泛型参数指定类型的对象数据、
 * <p>
 * Supplier<T>接口被称之为生产型接口，接口中的get方法会生产泛型类型的数据
 */
public class DemoSupplier {
    /**
     * 获取一个String对象
     *
     * @param sup 函数式接口对象
     * @return 字符串
     */
    private static String getString(Supplier<String> sup) {
        return sup.get();
    }

    public static void main(String[] args) {
        /*String s = getString(() -> {
            return "胡歌";
        });*/
        // 简化Lambda
        String s2 = getString(() -> "胡歌");
    }
}
